import store from '../store/index';
import {mapMutations} from 'vuex';
export default {
	/**
	 * 接口名称 lo
	 * apiName（obj）
	 */
	apiName: {
		login: 'user/login_pass', 
		wx_auto_reg:'user/mini_login', //微信登录
		pouch_card_point:'platform/pouch_card_point',//加载打卡范围
		user_main:'user/main',	//用户个人中心
		user_logout:'user/logout',//退出登录
		course_list:'course/lists',//课程列表
		course_detail:'course/detail',//课程详情
		category_list:'category/lists',//分类列表
		campus_marker_list:'campus/marker_lists',//校区marker列表
		campus_lists:'campus/lists',//校区列表
		campus_course_list:'course/campus_course_list',//校区课程列表
		search_campus_type:'platform/search_campus_type',//校区搜索类型下拉框
		platform_resource:'platform/resource',//平台资源
		update_user:'user/save',//更新用户信息
		article_detail:'platform/article_detail',//文章详情
		campus_detail:'campus/detail',//校区详情
		map_line:'platform/qq_map_line',//腾讯地图路线规划
		month_or_week:'course/month_or_week',//加载月份或周
		course_date_list:'course/list_with_time',//加载通过时间筛选的课程列表
		course_order_lists:'course_order/lists', //课程订单列表
		course_order_first:'course_order/first', //提交报名时加载上次报名填写的信息
		course_order_create:'course_order/create', //报名
		course_order_today:'course_order/today', //今日课程
		course_sign:'course/sign',//签到
		course_my_statics:'course_order/statics',//我的课程统计
		course_order_detail:'course_order/detail',//我的课程订单详情
		cancel_order_course:'course_order/cancel',//取消课程报名
		before_order_create:'course_order/create_check',//立即报名提交检查
		check_course_apply:'course_order/check_apply',//获取用户是否报名课程
		teacher_course_list:'teacher/lists',//教师课程列表
		teacher_course_detail:'teacher/detail',//教师课程详情
		teacher_course_statics:'teacher/statics',//教师课程统计（列表中）
		course_gate_statics:'course/gate_statics',//签到页出勤统计
		course_give_score:'course/give_score',//观看视频获取积分
		recommend_water:'recommend/water',//瀑布流列表
		recommend_detail:'recommend/detail',//推荐视频详情
		course_order_statics:'course_order/statics_count',//课程订单统计
		course_teacher_gate_statics:'teacher/gate_statics',//教师课程出勤统计
		teacher_detail:'teacher/info',//教师信息详情
		teacher_save:'teacher/save',//教师信息提交
		sub_message_list:'platform/wechat_message_list',//微信订阅消息列表
		swiper_list:'recommend/swiper',//swiper列表
		normal_detail:'recommend/normal_detail',//普通视频详情
		add_leave:'course_order/leave',//请假
		estimate:'course_order/submit_estimate',//评价
		user_message_list:'user/message_list',//用户消息列表
		read_message:'user/read_message',//读取用户消息
		benefit_list:'platform/benefit_list',//公益列表
		score_goods_list:'platform/score_goods_list',//积分商品列表
		benefit_detail:'platform/benefit_detail',//公益详情
		score_goods_detail:'platform/score_goods_detail',//积分商品详情
		goods_order_lists:'goods_order/lists',//兑换订单列表
		create_goods_order:'goods_order/create',//创建兑换订单
		goods_order_count:'goods_order/statics_count',//兑换订单统计
		goods_order_detail:'goods_order/detail',//兑换订单详情
		create_benefit:'user/create_benefit',//报名公益
		user_benefit_list:'user/user_benefit_list',//我的公益
		user_company:'user/company_info',//用户的企业信息
		shop_goods:'shop/goods_list',//店铺商品
		shop_goods_statics:'shop/goods_static',//店铺商品统计
		shop_goods_updown:'shop/goods_update',//店铺商品上下架
		shop_static:'shop/shop_static',//用户所有店铺统计
		all_shop_goods:'shop/all_shop_goods',//用户所有店铺商品列表
		shop_orders:'shop/orders',//店铺订单
		shop_order_statics:'shop/order_statics',//店铺订单统计
		verify_order:'goods_order/verify',//核销兑换订单
		score_list:'user/score_list',//积分记录
	},
	...mapMutations(['logout']),
	/**
	 * 封装请求（async await 封装uni.request）
	 * method	   post/get		
	 * endpoint    接口方法名
	 * data		   所需传递参数	
	 * load		   是否需要loading
	 */
	async apiCall(method, endpoint, data,load,showT=true,title='请稍后') {
		if (!load) {
			uni.showLoading({
				title: title,
				mask: true
			});
		}
		// let fullurl = 'http://gyq-jdy.fragrantly.cn/api/' + endpoint;
		// let fullurl = 'http://127.0.0.1:8000/api/' + endpoint;
		let fullurl = 'https://www.cqjbgyq.cn/api/' + endpoint;
		// let Authorization = `${store.state.userInfo.tokenHead}${store.state.userInfo.token}`;
		// let Authorization = `Bearer ${store.state.userInfo.token}`;
		let uu = uni.getStorageSync('userInfo');
		let Authorization = `Bearer ${uu.token??''}`;//防止浏览器直接手动清除storage后调用接口，手动清除storage后不刷新页面store中存储的值还在，所以改用直接获取storage的方式
		let [error, res] = await uni.request({
			url: fullurl,
			data: data,
			method: method,
			header: {
				'Content-Type': 'application/x-www-form-urlencoded',
				// 'content-type': 'application/json',
				'Authorization':  Authorization || ''
			},
		});
		// if (!load) {
		// 	uni.hideLoading();
		// }		
		
		if(!res){
			uni.showToast({
				title: '网络错误',
				icon: 'none'
			});	
			uni.hideLoading();
			return false;
		}
		if(res.data.code==0){
			uni.hideLoading();
			return res.data;
		}
		else{
			uni.hideLoading();
			if(showT){
				uni.showToast({
					title: res.data.msg,
					icon: 'none',
					mask:true
				});
			
			}
			if(res.data.code ==10001){
				store.state.hasLogin=false;
				store.state.userInfo='';
				uni.removeStorage({
				    key: 'userInfo'  
				});
				let _url='/pages/public/wxLogin';
				// #ifndef MP
				_url ='/pages/public/login';
				// #endif
				uni.redirectTo({
					url:_url
				});
				return;
			}
			return false;
			// return res;
		}
	},
}
